package com.abner.design.patterns.proxy.staticproxy;

/**
 * 静态代理
 * 	静态代理在使用时,需要定义接口或者父类,被代理对象(即目标对象)与代理对象一起实现相同的接口或者是继承相同父类
 * 优缺点：
 * 	1) 优点：在不修改目标对象的功能前提下, 能通过代理对象对目标功能扩展
 *  2) 缺点：因为代理对象需要与目标对象实现一样的接口,所以会有很多代理类
 *  3) 一旦接口增加方法,目标对象与代理对象都要维护
 * @author abner
 */
public class Client {

	public static void main(String[] args) {
		TeacherDaoProxy teacherDaoProxy = new TeacherDaoProxy(new TeacherDao());
		teacherDaoProxy.teach();
	}

}
